/* 
 * File:   Utiles.cpp
 * Author: Gabriel Fainstein
 * 
 * Created on 19 de mayo de 2013, 19:30
 */

#include "common_FileUtils.h"

FileUtils::FileUtils() {
}

bool FileUtils::ObtenerNombreArchivos(const std::string& path, 
                                   LNombreArchivo& l) const 
{
    DIR * dir = opendir(path.c_str());
    if(dir == NULL)
        return false;
    else
    {
        struct dirent * ent = readdir(dir);
        while(ent != NULL)
        {
            std::string nom = ent->d_name;
            if(nom != "." && nom != "..")
                l.push_back(nom);
            ent = readdir(dir);
        }
        closedir(dir);
        return true;
    } 
    
}

bool FileUtils::ObtenerFullPathArchivo(const std::string& path, 
                                    LPathArchivo& l) const
{
    DIR * dir = opendir(path.c_str());
    if(dir == NULL) return false;
    else
    {
        struct dirent * ent = readdir(dir);
        while(ent != NULL)
        {
            std::string nom = ent->d_name;
            if(nom != "." && nom != "..")
            {
                nom.insert(0, path);
                l.push_back(nom);
            }
            ent = readdir(dir);
        }
        closedir(dir);
        return true;
    }     
}


bool FileUtils::DirectorioExistente(const std::string& path)
{
    bool estado = true;
    DIR* dir = opendir(path.c_str());
    if(dir == NULL) estado = false;
    else closedir(dir);
    return estado;
}

